package ${sourceBasePackage}.service;

import ${sourceBasePackage}.common.entity.${className};
import ${sourceBasePackage}.common.api.Page;
import ${sourceBasePackage}.common.api.PageData;

import java.util.List;

/**
 *
 * @author:
 * <pre>
 * SD
 * 	${author}
 * PG
 *	${author}
 * </pre>
 * @data: ${createDate}
 * @description: ${description}service接口.
 * @copyright: zooocloud.com
 *
 */
public interface ${className}Service{
	
 	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	分页查询
	 * </pre>
	 * 
	 * @param page
	 * @return
	 */
	public List<${className}> findByPage(Page page) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	查询
	 * </pre>
	 * 
	 * @param ${className?uncap_first}
	 * @return
	 */
	public List<${className}> findBySearch(${className} ${className?uncap_first}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	查询
	 * </pre>
	 * 
	 * @param pd
	 * @return
	 */
	public List<${className}> findBySearch(PageData pd) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	通过ID查询
	 * </pre>
	 * 
	 * @param ${pkField}
	 * @return
	 */
	public ${className} getById(${pkType} ${pkField}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	新增
	 * </pre>
	 * 
	 * @param ${className?uncap_first}
	 */
	public ${className} addAll(${className} ${className?uncap_first}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	新增
	 * </pre>
	 * 
	 * @param ${className?uncap_first}
	 */
	public ${className} add(${className} ${className?uncap_first}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	新增
	 * </pre>
	 * 
	 * @param pd
	 */
	public void add(PageData pd) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	修改
	 * </pre>
	 * 
	 * @param ${className?uncap_first}
	 */
	public ${className} update(${className} ${className?uncap_first}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	修改
	 * </pre>
	 * 
	 * @param pd
	 */
	public void update(PageData pd) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	删除
	 * </pre>
	 * 
	 * @param ${pkField}
	 */
	public void delete(${pkType} ${pkField}) throws Exception;
	
	/**
	 * 
	 * <pre>
	 * 	${createDate} ${author}
	 * 	删除
	 * </pre>
	 * 
	 * @param ${pkField}s
	 */
	public void batchDelete(List<${pkType}> ${pkField}s) throws Exception;
}
